package com.ytjj.qmyx.users.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UsersDataExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UsersDataExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIsNull() {
            addCriterion("user_phone is null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIsNotNull() {
            addCriterion("user_phone is not null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneEqualTo(String value) {
            addCriterion("user_phone =", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotEqualTo(String value) {
            addCriterion("user_phone <>", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneGreaterThan(String value) {
            addCriterion("user_phone >", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("user_phone >=", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLessThan(String value) {
            addCriterion("user_phone <", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLessThanOrEqualTo(String value) {
            addCriterion("user_phone <=", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLike(String value) {
            addCriterion("user_phone like", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotLike(String value) {
            addCriterion("user_phone not like", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIn(List<String> values) {
            addCriterion("user_phone in", values, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotIn(List<String> values) {
            addCriterion("user_phone not in", values, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneBetween(String value1, String value2) {
            addCriterion("user_phone between", value1, value2, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotBetween(String value1, String value2) {
            addCriterion("user_phone not between", value1, value2, "userPhone");
            return (Criteria) this;
        }

        public Criteria andSexIsNull() {
            addCriterion("sex is null");
            return (Criteria) this;
        }

        public Criteria andSexIsNotNull() {
            addCriterion("sex is not null");
            return (Criteria) this;
        }

        public Criteria andSexEqualTo(Byte value) {
            addCriterion("sex =", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotEqualTo(Byte value) {
            addCriterion("sex <>", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThan(Byte value) {
            addCriterion("sex >", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThanOrEqualTo(Byte value) {
            addCriterion("sex >=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThan(Byte value) {
            addCriterion("sex <", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThanOrEqualTo(Byte value) {
            addCriterion("sex <=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexIn(List<Byte> values) {
            addCriterion("sex in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotIn(List<Byte> values) {
            addCriterion("sex not in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexBetween(Byte value1, Byte value2) {
            addCriterion("sex between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotBetween(Byte value1, Byte value2) {
            addCriterion("sex not between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andNationIsNull() {
            addCriterion("nation is null");
            return (Criteria) this;
        }

        public Criteria andNationIsNotNull() {
            addCriterion("nation is not null");
            return (Criteria) this;
        }

        public Criteria andNationEqualTo(String value) {
            addCriterion("nation =", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationNotEqualTo(String value) {
            addCriterion("nation <>", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationGreaterThan(String value) {
            addCriterion("nation >", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationGreaterThanOrEqualTo(String value) {
            addCriterion("nation >=", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationLessThan(String value) {
            addCriterion("nation <", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationLessThanOrEqualTo(String value) {
            addCriterion("nation <=", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationLike(String value) {
            addCriterion("nation like", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationNotLike(String value) {
            addCriterion("nation not like", value, "nation");
            return (Criteria) this;
        }

        public Criteria andNationIn(List<String> values) {
            addCriterion("nation in", values, "nation");
            return (Criteria) this;
        }

        public Criteria andNationNotIn(List<String> values) {
            addCriterion("nation not in", values, "nation");
            return (Criteria) this;
        }

        public Criteria andNationBetween(String value1, String value2) {
            addCriterion("nation between", value1, value2, "nation");
            return (Criteria) this;
        }

        public Criteria andNationNotBetween(String value1, String value2) {
            addCriterion("nation not between", value1, value2, "nation");
            return (Criteria) this;
        }

        public Criteria andAgeRangeIsNull() {
            addCriterion("age_range is null");
            return (Criteria) this;
        }

        public Criteria andAgeRangeIsNotNull() {
            addCriterion("age_range is not null");
            return (Criteria) this;
        }

        public Criteria andAgeRangeEqualTo(String value) {
            addCriterion("age_range =", value, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeNotEqualTo(String value) {
            addCriterion("age_range <>", value, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeGreaterThan(String value) {
            addCriterion("age_range >", value, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeGreaterThanOrEqualTo(String value) {
            addCriterion("age_range >=", value, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeLessThan(String value) {
            addCriterion("age_range <", value, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeLessThanOrEqualTo(String value) {
            addCriterion("age_range <=", value, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeLike(String value) {
            addCriterion("age_range like", value, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeNotLike(String value) {
            addCriterion("age_range not like", value, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeIn(List<String> values) {
            addCriterion("age_range in", values, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeNotIn(List<String> values) {
            addCriterion("age_range not in", values, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeBetween(String value1, String value2) {
            addCriterion("age_range between", value1, value2, "ageRange");
            return (Criteria) this;
        }

        public Criteria andAgeRangeNotBetween(String value1, String value2) {
            addCriterion("age_range not between", value1, value2, "ageRange");
            return (Criteria) this;
        }

        public Criteria andJobTypeIsNull() {
            addCriterion("job_type is null");
            return (Criteria) this;
        }

        public Criteria andJobTypeIsNotNull() {
            addCriterion("job_type is not null");
            return (Criteria) this;
        }

        public Criteria andJobTypeEqualTo(String value) {
            addCriterion("job_type =", value, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeNotEqualTo(String value) {
            addCriterion("job_type <>", value, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeGreaterThan(String value) {
            addCriterion("job_type >", value, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeGreaterThanOrEqualTo(String value) {
            addCriterion("job_type >=", value, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeLessThan(String value) {
            addCriterion("job_type <", value, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeLessThanOrEqualTo(String value) {
            addCriterion("job_type <=", value, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeLike(String value) {
            addCriterion("job_type like", value, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeNotLike(String value) {
            addCriterion("job_type not like", value, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeIn(List<String> values) {
            addCriterion("job_type in", values, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeNotIn(List<String> values) {
            addCriterion("job_type not in", values, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeBetween(String value1, String value2) {
            addCriterion("job_type between", value1, value2, "jobType");
            return (Criteria) this;
        }

        public Criteria andJobTypeNotBetween(String value1, String value2) {
            addCriterion("job_type not between", value1, value2, "jobType");
            return (Criteria) this;
        }

        public Criteria andStudentFlagIsNull() {
            addCriterion("student_flag is null");
            return (Criteria) this;
        }

        public Criteria andStudentFlagIsNotNull() {
            addCriterion("student_flag is not null");
            return (Criteria) this;
        }

        public Criteria andStudentFlagEqualTo(String value) {
            addCriterion("student_flag =", value, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagNotEqualTo(String value) {
            addCriterion("student_flag <>", value, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagGreaterThan(String value) {
            addCriterion("student_flag >", value, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagGreaterThanOrEqualTo(String value) {
            addCriterion("student_flag >=", value, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagLessThan(String value) {
            addCriterion("student_flag <", value, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagLessThanOrEqualTo(String value) {
            addCriterion("student_flag <=", value, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagLike(String value) {
            addCriterion("student_flag like", value, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagNotLike(String value) {
            addCriterion("student_flag not like", value, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagIn(List<String> values) {
            addCriterion("student_flag in", values, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagNotIn(List<String> values) {
            addCriterion("student_flag not in", values, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagBetween(String value1, String value2) {
            addCriterion("student_flag between", value1, value2, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andStudentFlagNotBetween(String value1, String value2) {
            addCriterion("student_flag not between", value1, value2, "studentFlag");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelIsNull() {
            addCriterion("degree_level is null");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelIsNotNull() {
            addCriterion("degree_level is not null");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelEqualTo(String value) {
            addCriterion("degree_level =", value, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelNotEqualTo(String value) {
            addCriterion("degree_level <>", value, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelGreaterThan(String value) {
            addCriterion("degree_level >", value, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelGreaterThanOrEqualTo(String value) {
            addCriterion("degree_level >=", value, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelLessThan(String value) {
            addCriterion("degree_level <", value, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelLessThanOrEqualTo(String value) {
            addCriterion("degree_level <=", value, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelLike(String value) {
            addCriterion("degree_level like", value, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelNotLike(String value) {
            addCriterion("degree_level not like", value, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelIn(List<String> values) {
            addCriterion("degree_level in", values, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelNotIn(List<String> values) {
            addCriterion("degree_level not in", values, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelBetween(String value1, String value2) {
            addCriterion("degree_level between", value1, value2, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andDegreeLevelNotBetween(String value1, String value2) {
            addCriterion("degree_level not between", value1, value2, "degreeLevel");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusIsNull() {
            addCriterion("marital_status is null");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusIsNotNull() {
            addCriterion("marital_status is not null");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusEqualTo(String value) {
            addCriterion("marital_status =", value, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusNotEqualTo(String value) {
            addCriterion("marital_status <>", value, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusGreaterThan(String value) {
            addCriterion("marital_status >", value, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusGreaterThanOrEqualTo(String value) {
            addCriterion("marital_status >=", value, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusLessThan(String value) {
            addCriterion("marital_status <", value, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusLessThanOrEqualTo(String value) {
            addCriterion("marital_status <=", value, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusLike(String value) {
            addCriterion("marital_status like", value, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusNotLike(String value) {
            addCriterion("marital_status not like", value, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusIn(List<String> values) {
            addCriterion("marital_status in", values, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusNotIn(List<String> values) {
            addCriterion("marital_status not in", values, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusBetween(String value1, String value2) {
            addCriterion("marital_status between", value1, value2, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andMaritalStatusNotBetween(String value1, String value2) {
            addCriterion("marital_status not between", value1, value2, "maritalStatus");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagIsNull() {
            addCriterion("children_flag is null");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagIsNotNull() {
            addCriterion("children_flag is not null");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagEqualTo(String value) {
            addCriterion("children_flag =", value, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagNotEqualTo(String value) {
            addCriterion("children_flag <>", value, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagGreaterThan(String value) {
            addCriterion("children_flag >", value, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagGreaterThanOrEqualTo(String value) {
            addCriterion("children_flag >=", value, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagLessThan(String value) {
            addCriterion("children_flag <", value, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagLessThanOrEqualTo(String value) {
            addCriterion("children_flag <=", value, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagLike(String value) {
            addCriterion("children_flag like", value, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagNotLike(String value) {
            addCriterion("children_flag not like", value, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagIn(List<String> values) {
            addCriterion("children_flag in", values, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagNotIn(List<String> values) {
            addCriterion("children_flag not in", values, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagBetween(String value1, String value2) {
            addCriterion("children_flag between", value1, value2, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenFlagNotBetween(String value1, String value2) {
            addCriterion("children_flag not between", value1, value2, "childrenFlag");
            return (Criteria) this;
        }

        public Criteria andChildrenStageIsNull() {
            addCriterion("children_stage is null");
            return (Criteria) this;
        }

        public Criteria andChildrenStageIsNotNull() {
            addCriterion("children_stage is not null");
            return (Criteria) this;
        }

        public Criteria andChildrenStageEqualTo(String value) {
            addCriterion("children_stage =", value, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageNotEqualTo(String value) {
            addCriterion("children_stage <>", value, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageGreaterThan(String value) {
            addCriterion("children_stage >", value, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageGreaterThanOrEqualTo(String value) {
            addCriterion("children_stage >=", value, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageLessThan(String value) {
            addCriterion("children_stage <", value, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageLessThanOrEqualTo(String value) {
            addCriterion("children_stage <=", value, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageLike(String value) {
            addCriterion("children_stage like", value, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageNotLike(String value) {
            addCriterion("children_stage not like", value, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageIn(List<String> values) {
            addCriterion("children_stage in", values, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageNotIn(List<String> values) {
            addCriterion("children_stage not in", values, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageBetween(String value1, String value2) {
            addCriterion("children_stage between", value1, value2, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andChildrenStageNotBetween(String value1, String value2) {
            addCriterion("children_stage not between", value1, value2, "childrenStage");
            return (Criteria) this;
        }

        public Criteria andCarFlagIsNull() {
            addCriterion("car_flag is null");
            return (Criteria) this;
        }

        public Criteria andCarFlagIsNotNull() {
            addCriterion("car_flag is not null");
            return (Criteria) this;
        }

        public Criteria andCarFlagEqualTo(String value) {
            addCriterion("car_flag =", value, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagNotEqualTo(String value) {
            addCriterion("car_flag <>", value, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagGreaterThan(String value) {
            addCriterion("car_flag >", value, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagGreaterThanOrEqualTo(String value) {
            addCriterion("car_flag >=", value, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagLessThan(String value) {
            addCriterion("car_flag <", value, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagLessThanOrEqualTo(String value) {
            addCriterion("car_flag <=", value, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagLike(String value) {
            addCriterion("car_flag like", value, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagNotLike(String value) {
            addCriterion("car_flag not like", value, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagIn(List<String> values) {
            addCriterion("car_flag in", values, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagNotIn(List<String> values) {
            addCriterion("car_flag not in", values, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagBetween(String value1, String value2) {
            addCriterion("car_flag between", value1, value2, "carFlag");
            return (Criteria) this;
        }

        public Criteria andCarFlagNotBetween(String value1, String value2) {
            addCriterion("car_flag not between", value1, value2, "carFlag");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelIsNull() {
            addCriterion("income_level is null");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelIsNotNull() {
            addCriterion("income_level is not null");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelEqualTo(String value) {
            addCriterion("income_level =", value, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelNotEqualTo(String value) {
            addCriterion("income_level <>", value, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelGreaterThan(String value) {
            addCriterion("income_level >", value, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelGreaterThanOrEqualTo(String value) {
            addCriterion("income_level >=", value, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelLessThan(String value) {
            addCriterion("income_level <", value, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelLessThanOrEqualTo(String value) {
            addCriterion("income_level <=", value, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelLike(String value) {
            addCriterion("income_level like", value, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelNotLike(String value) {
            addCriterion("income_level not like", value, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelIn(List<String> values) {
            addCriterion("income_level in", values, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelNotIn(List<String> values) {
            addCriterion("income_level not in", values, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelBetween(String value1, String value2) {
            addCriterion("income_level between", value1, value2, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andIncomeLevelNotBetween(String value1, String value2) {
            addCriterion("income_level not between", value1, value2, "incomeLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelIsNull() {
            addCriterion("consumption_level is null");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelIsNotNull() {
            addCriterion("consumption_level is not null");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelEqualTo(String value) {
            addCriterion("consumption_level =", value, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelNotEqualTo(String value) {
            addCriterion("consumption_level <>", value, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelGreaterThan(String value) {
            addCriterion("consumption_level >", value, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelGreaterThanOrEqualTo(String value) {
            addCriterion("consumption_level >=", value, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelLessThan(String value) {
            addCriterion("consumption_level <", value, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelLessThanOrEqualTo(String value) {
            addCriterion("consumption_level <=", value, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelLike(String value) {
            addCriterion("consumption_level like", value, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelNotLike(String value) {
            addCriterion("consumption_level not like", value, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelIn(List<String> values) {
            addCriterion("consumption_level in", values, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelNotIn(List<String> values) {
            addCriterion("consumption_level not in", values, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelBetween(String value1, String value2) {
            addCriterion("consumption_level between", value1, value2, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumptionLevelNotBetween(String value1, String value2) {
            addCriterion("consumption_level not between", value1, value2, "consumptionLevel");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeIsNull() {
            addCriterion("consumer_grade is null");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeIsNotNull() {
            addCriterion("consumer_grade is not null");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeEqualTo(String value) {
            addCriterion("consumer_grade =", value, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeNotEqualTo(String value) {
            addCriterion("consumer_grade <>", value, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeGreaterThan(String value) {
            addCriterion("consumer_grade >", value, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeGreaterThanOrEqualTo(String value) {
            addCriterion("consumer_grade >=", value, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeLessThan(String value) {
            addCriterion("consumer_grade <", value, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeLessThanOrEqualTo(String value) {
            addCriterion("consumer_grade <=", value, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeLike(String value) {
            addCriterion("consumer_grade like", value, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeNotLike(String value) {
            addCriterion("consumer_grade not like", value, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeIn(List<String> values) {
            addCriterion("consumer_grade in", values, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeNotIn(List<String> values) {
            addCriterion("consumer_grade not in", values, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeBetween(String value1, String value2) {
            addCriterion("consumer_grade between", value1, value2, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andConsumerGradeNotBetween(String value1, String value2) {
            addCriterion("consumer_grade not between", value1, value2, "consumerGrade");
            return (Criteria) this;
        }

        public Criteria andMobileModelIsNull() {
            addCriterion("mobile_model is null");
            return (Criteria) this;
        }

        public Criteria andMobileModelIsNotNull() {
            addCriterion("mobile_model is not null");
            return (Criteria) this;
        }

        public Criteria andMobileModelEqualTo(String value) {
            addCriterion("mobile_model =", value, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelNotEqualTo(String value) {
            addCriterion("mobile_model <>", value, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelGreaterThan(String value) {
            addCriterion("mobile_model >", value, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelGreaterThanOrEqualTo(String value) {
            addCriterion("mobile_model >=", value, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelLessThan(String value) {
            addCriterion("mobile_model <", value, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelLessThanOrEqualTo(String value) {
            addCriterion("mobile_model <=", value, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelLike(String value) {
            addCriterion("mobile_model like", value, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelNotLike(String value) {
            addCriterion("mobile_model not like", value, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelIn(List<String> values) {
            addCriterion("mobile_model in", values, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelNotIn(List<String> values) {
            addCriterion("mobile_model not in", values, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelBetween(String value1, String value2) {
            addCriterion("mobile_model between", value1, value2, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andMobileModelNotBetween(String value1, String value2) {
            addCriterion("mobile_model not between", value1, value2, "mobileModel");
            return (Criteria) this;
        }

        public Criteria andBrandTypeIsNull() {
            addCriterion("brand_type is null");
            return (Criteria) this;
        }

        public Criteria andBrandTypeIsNotNull() {
            addCriterion("brand_type is not null");
            return (Criteria) this;
        }

        public Criteria andBrandTypeEqualTo(String value) {
            addCriterion("brand_type =", value, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeNotEqualTo(String value) {
            addCriterion("brand_type <>", value, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeGreaterThan(String value) {
            addCriterion("brand_type >", value, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeGreaterThanOrEqualTo(String value) {
            addCriterion("brand_type >=", value, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeLessThan(String value) {
            addCriterion("brand_type <", value, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeLessThanOrEqualTo(String value) {
            addCriterion("brand_type <=", value, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeLike(String value) {
            addCriterion("brand_type like", value, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeNotLike(String value) {
            addCriterion("brand_type not like", value, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeIn(List<String> values) {
            addCriterion("brand_type in", values, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeNotIn(List<String> values) {
            addCriterion("brand_type not in", values, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeBetween(String value1, String value2) {
            addCriterion("brand_type between", value1, value2, "brandType");
            return (Criteria) this;
        }

        public Criteria andBrandTypeNotBetween(String value1, String value2) {
            addCriterion("brand_type not between", value1, value2, "brandType");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNull() {
            addCriterion("operator is null");
            return (Criteria) this;
        }

        public Criteria andOperatorIsNotNull() {
            addCriterion("operator is not null");
            return (Criteria) this;
        }

        public Criteria andOperatorEqualTo(String value) {
            addCriterion("operator =", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotEqualTo(String value) {
            addCriterion("operator <>", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThan(String value) {
            addCriterion("operator >", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorGreaterThanOrEqualTo(String value) {
            addCriterion("operator >=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThan(String value) {
            addCriterion("operator <", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLessThanOrEqualTo(String value) {
            addCriterion("operator <=", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorLike(String value) {
            addCriterion("operator like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotLike(String value) {
            addCriterion("operator not like", value, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorIn(List<String> values) {
            addCriterion("operator in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotIn(List<String> values) {
            addCriterion("operator not in", values, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorBetween(String value1, String value2) {
            addCriterion("operator between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andOperatorNotBetween(String value1, String value2) {
            addCriterion("operator not between", value1, value2, "operator");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioIsNull() {
            addCriterion("resolution_ratio is null");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioIsNotNull() {
            addCriterion("resolution_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioEqualTo(String value) {
            addCriterion("resolution_ratio =", value, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioNotEqualTo(String value) {
            addCriterion("resolution_ratio <>", value, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioGreaterThan(String value) {
            addCriterion("resolution_ratio >", value, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioGreaterThanOrEqualTo(String value) {
            addCriterion("resolution_ratio >=", value, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioLessThan(String value) {
            addCriterion("resolution_ratio <", value, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioLessThanOrEqualTo(String value) {
            addCriterion("resolution_ratio <=", value, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioLike(String value) {
            addCriterion("resolution_ratio like", value, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioNotLike(String value) {
            addCriterion("resolution_ratio not like", value, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioIn(List<String> values) {
            addCriterion("resolution_ratio in", values, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioNotIn(List<String> values) {
            addCriterion("resolution_ratio not in", values, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioBetween(String value1, String value2) {
            addCriterion("resolution_ratio between", value1, value2, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andResolutionRatioNotBetween(String value1, String value2) {
            addCriterion("resolution_ratio not between", value1, value2, "resolutionRatio");
            return (Criteria) this;
        }

        public Criteria andScreenSizeIsNull() {
            addCriterion("screen_size is null");
            return (Criteria) this;
        }

        public Criteria andScreenSizeIsNotNull() {
            addCriterion("screen_size is not null");
            return (Criteria) this;
        }

        public Criteria andScreenSizeEqualTo(String value) {
            addCriterion("screen_size =", value, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeNotEqualTo(String value) {
            addCriterion("screen_size <>", value, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeGreaterThan(String value) {
            addCriterion("screen_size >", value, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeGreaterThanOrEqualTo(String value) {
            addCriterion("screen_size >=", value, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeLessThan(String value) {
            addCriterion("screen_size <", value, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeLessThanOrEqualTo(String value) {
            addCriterion("screen_size <=", value, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeLike(String value) {
            addCriterion("screen_size like", value, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeNotLike(String value) {
            addCriterion("screen_size not like", value, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeIn(List<String> values) {
            addCriterion("screen_size in", values, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeNotIn(List<String> values) {
            addCriterion("screen_size not in", values, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeBetween(String value1, String value2) {
            addCriterion("screen_size between", value1, value2, "screenSize");
            return (Criteria) this;
        }

        public Criteria andScreenSizeNotBetween(String value1, String value2) {
            addCriterion("screen_size not between", value1, value2, "screenSize");
            return (Criteria) this;
        }

        public Criteria andOperateSystemIsNull() {
            addCriterion("operate_system is null");
            return (Criteria) this;
        }

        public Criteria andOperateSystemIsNotNull() {
            addCriterion("operate_system is not null");
            return (Criteria) this;
        }

        public Criteria andOperateSystemEqualTo(String value) {
            addCriterion("operate_system =", value, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemNotEqualTo(String value) {
            addCriterion("operate_system <>", value, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemGreaterThan(String value) {
            addCriterion("operate_system >", value, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemGreaterThanOrEqualTo(String value) {
            addCriterion("operate_system >=", value, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemLessThan(String value) {
            addCriterion("operate_system <", value, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemLessThanOrEqualTo(String value) {
            addCriterion("operate_system <=", value, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemLike(String value) {
            addCriterion("operate_system like", value, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemNotLike(String value) {
            addCriterion("operate_system not like", value, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemIn(List<String> values) {
            addCriterion("operate_system in", values, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemNotIn(List<String> values) {
            addCriterion("operate_system not in", values, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemBetween(String value1, String value2) {
            addCriterion("operate_system between", value1, value2, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andOperateSystemNotBetween(String value1, String value2) {
            addCriterion("operate_system not between", value1, value2, "operateSystem");
            return (Criteria) this;
        }

        public Criteria andMarketTimeIsNull() {
            addCriterion("market_time is null");
            return (Criteria) this;
        }

        public Criteria andMarketTimeIsNotNull() {
            addCriterion("market_time is not null");
            return (Criteria) this;
        }

        public Criteria andMarketTimeEqualTo(String value) {
            addCriterion("market_time =", value, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeNotEqualTo(String value) {
            addCriterion("market_time <>", value, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeGreaterThan(String value) {
            addCriterion("market_time >", value, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeGreaterThanOrEqualTo(String value) {
            addCriterion("market_time >=", value, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeLessThan(String value) {
            addCriterion("market_time <", value, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeLessThanOrEqualTo(String value) {
            addCriterion("market_time <=", value, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeLike(String value) {
            addCriterion("market_time like", value, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeNotLike(String value) {
            addCriterion("market_time not like", value, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeIn(List<String> values) {
            addCriterion("market_time in", values, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeNotIn(List<String> values) {
            addCriterion("market_time not in", values, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeBetween(String value1, String value2) {
            addCriterion("market_time between", value1, value2, "marketTime");
            return (Criteria) this;
        }

        public Criteria andMarketTimeNotBetween(String value1, String value2) {
            addCriterion("market_time not between", value1, value2, "marketTime");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeIsNull() {
            addCriterion("device_type is null");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeIsNotNull() {
            addCriterion("device_type is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeEqualTo(String value) {
            addCriterion("device_type =", value, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeNotEqualTo(String value) {
            addCriterion("device_type <>", value, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeGreaterThan(String value) {
            addCriterion("device_type >", value, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeGreaterThanOrEqualTo(String value) {
            addCriterion("device_type >=", value, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeLessThan(String value) {
            addCriterion("device_type <", value, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeLessThanOrEqualTo(String value) {
            addCriterion("device_type <=", value, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeLike(String value) {
            addCriterion("device_type like", value, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeNotLike(String value) {
            addCriterion("device_type not like", value, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeIn(List<String> values) {
            addCriterion("device_type in", values, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeNotIn(List<String> values) {
            addCriterion("device_type not in", values, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeBetween(String value1, String value2) {
            addCriterion("device_type between", value1, value2, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDeviceTypeNotBetween(String value1, String value2) {
            addCriterion("device_type not between", value1, value2, "deviceType");
            return (Criteria) this;
        }

        public Criteria andDevicePriceIsNull() {
            addCriterion("device_price is null");
            return (Criteria) this;
        }

        public Criteria andDevicePriceIsNotNull() {
            addCriterion("device_price is not null");
            return (Criteria) this;
        }

        public Criteria andDevicePriceEqualTo(BigDecimal value) {
            addCriterion("device_price =", value, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceNotEqualTo(BigDecimal value) {
            addCriterion("device_price <>", value, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceGreaterThan(BigDecimal value) {
            addCriterion("device_price >", value, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("device_price >=", value, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceLessThan(BigDecimal value) {
            addCriterion("device_price <", value, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("device_price <=", value, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceIn(List<BigDecimal> values) {
            addCriterion("device_price in", values, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceNotIn(List<BigDecimal> values) {
            addCriterion("device_price not in", values, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("device_price between", value1, value2, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andDevicePriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("device_price not between", value1, value2, "devicePrice");
            return (Criteria) this;
        }

        public Criteria andLabelFlagIsNull() {
            addCriterion("label_flag is null");
            return (Criteria) this;
        }

        public Criteria andLabelFlagIsNotNull() {
            addCriterion("label_flag is not null");
            return (Criteria) this;
        }

        public Criteria andLabelFlagEqualTo(Byte value) {
            addCriterion("label_flag =", value, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagNotEqualTo(Byte value) {
            addCriterion("label_flag <>", value, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagGreaterThan(Byte value) {
            addCriterion("label_flag >", value, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagGreaterThanOrEqualTo(Byte value) {
            addCriterion("label_flag >=", value, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagLessThan(Byte value) {
            addCriterion("label_flag <", value, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagLessThanOrEqualTo(Byte value) {
            addCriterion("label_flag <=", value, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagIn(List<Byte> values) {
            addCriterion("label_flag in", values, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagNotIn(List<Byte> values) {
            addCriterion("label_flag not in", values, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagBetween(Byte value1, Byte value2) {
            addCriterion("label_flag between", value1, value2, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andLabelFlagNotBetween(Byte value1, Byte value2) {
            addCriterion("label_flag not between", value1, value2, "labelFlag");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andExtraIsNull() {
            addCriterion("extra is null");
            return (Criteria) this;
        }

        public Criteria andExtraIsNotNull() {
            addCriterion("extra is not null");
            return (Criteria) this;
        }

        public Criteria andExtraEqualTo(String value) {
            addCriterion("extra =", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraNotEqualTo(String value) {
            addCriterion("extra <>", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraGreaterThan(String value) {
            addCriterion("extra >", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraGreaterThanOrEqualTo(String value) {
            addCriterion("extra >=", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraLessThan(String value) {
            addCriterion("extra <", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraLessThanOrEqualTo(String value) {
            addCriterion("extra <=", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraLike(String value) {
            addCriterion("extra like", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraNotLike(String value) {
            addCriterion("extra not like", value, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraIn(List<String> values) {
            addCriterion("extra in", values, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraNotIn(List<String> values) {
            addCriterion("extra not in", values, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraBetween(String value1, String value2) {
            addCriterion("extra between", value1, value2, "extra");
            return (Criteria) this;
        }

        public Criteria andExtraNotBetween(String value1, String value2) {
            addCriterion("extra not between", value1, value2, "extra");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}